package com.neusoft.bizcore.notice.notification.service;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.neusoft.bizcore.notice.notification.dto.NoticeTemplateDTO;
import com.neusoft.bizcore.web.support.Searchable;

public interface NoticeTemplateService {

    NoticeTemplateDTO create(NoticeTemplateDTO dto);

    void delete(Long id);

    NoticeTemplateDTO update(Long id, NoticeTemplateDTO dto);

    List<NoticeTemplateDTO> index(Searchable searchable);

    NoticeTemplateDTO details(Long id);

    Page<NoticeTemplateDTO> search(Pageable pageable, Searchable searchable);

    NoticeTemplateDTO findByType(String type);

    void downloadDefaultTemplate(HttpServletResponse response);

}
